VRTC 是 Byte Web SDK 中所有可调用方法的入口。
VRTC 可用于创建客户端和音视频流对象,以及一些相关操作。
| API | 描述 |
|---|---|
| VERSION | 当前使用的SDK版本 |
| checkSystemRequirements | 检查 Web SDK 对正在使用的浏览器的适配情况 |
| checkVideoPermission | 检测是否有摄像头权限 |
| checkAudioPermission | 检测是否有麦克风权限 |
| getDevices | 获取可用的媒体输入/输出设备,比如麦克风、摄像头、耳机等 |
| createClient | 创建客户端 |
| createStream | 创建音视频流对象 |
关于 VRTC 的回调,参看 回调。
Client 接口提供音视频通话的核心功能,例如加入频道、发布和订阅音视频流等。
你可以通过 createClient来创建 client 对象。一个 client 对象代表一个本地客户端。
| API | 描述 |
|---|---|
| init | client 初始化,核心功能是与信令服务器建立 WebSocket 长连接 |
| join | 加入房间 |
| leave | 离开当前房间 |
| publish | 在房间内推流 |
| unpublish | 停止推流 |
| subscribe | 订阅远端流 |
| unsubscribe | 停止订阅 |
| on | 监听事件 |
| off | 取消监听事件 |
| getConnectionState | 获取连接状态 |
| getLocalVideoStats | 获取本地视频流属性 |
| getLocalAudioStats | 获取本地音频流属性 |
| getRemoteAudioStats | 获取远端音频流属性 |
| getRemoteVideoStats | 获取远端视频流属性 |
| renewToken | 更新校验 token |
| setLiveTranscoding | 设置直播推流转码 |
| startLiveStreaming | 开启转推直播,推流到 CDN |
| stopLiveStreaming | 停止转推直播 |
| sendCustomMessage | 本地用户发送消息,房间内其他用户都将收到 |
| sendMessageToUser | 向指定用户发送消息 |
| setBusinessId | 设置业务 ID,一般用于区分相同项目中的不同业务线 |
| getBusinessId | 获取业务 ID |
| enableAudioVolumeIndicator | 开启说话者音量提示 自 3.22.0 版加入 |
| setUserVisibility | 设置用户可见性。 自 3.24.0 版加入 |
| enableAutoSubscribe | 自动订阅音频流。 自 3.24.0 版加入 |
Stream 接口提供的方法用于定义音视频流对象的行为,例如流的播放控制、音视频的编码配置等。
你可以通过 createStream创建 stream 对象。一个 stream 对象指通话中发布的本地音视频流或订阅的远端音视频流。
| API | 描述 |
|---|---|
| init | 流初始化 |
| play | 播放媒体流 |
| getMediaStream | 获取媒体流 |
| setVideoBitRate | 设置视频码率 |
| setVideoProfile | 设置视频属性,设置本地流的视频编码属性。每个属性对应一套视频参数,如分辨率、帧率、码率等 |
| setVideoEncoderConfiguration | 自定义视频编码配置,可以根据需要灵活设置本地流的视频分辨率、帧率和码率 |
| getStats | 获取流统计 |
| stop | 停止播放,但不断开 RTC 连接 |
| close | 关闭视频流或音频流,即停止发送和接收音视频流,断开 RTC 连接,取消摄像头和麦克风的访问权限并清除统计 |
| muteAudio | 关闭音频 |
| muteVideo | 关闭视频 |
| unmuteAudio | 开启音频 |
| unmuteVideo | 关闭视频 |
| getId | 获取流 ID |
| hasVideo | 获取视频 flag |
| hasAudio | 获取音频 flag |
| replaceTrack | 替换媒体流里面的音频或者视频轨 |
| getAudioLevel | 获取当前音频能量,可以理解为音量 |
| startAudioMixing | 开始播放音乐文件及混音 |
| stopAudioMixing | 停止播放音乐文件及混音 |
| pauseAudioMixing | 暂停播放音乐文件及混音 |
| resumeAudioMixing | 恢复播放音乐文件及混音 |
| getAudioMixingDuration | 获取音乐文件总时长 |
| getAudioMixingCurrentPosition | 获取音乐文件播放进度 |
| setAudioMixingPosition | 设置音乐文件的播放位置 |
| setAudioMixingVolume | 调节音乐文件在本地和远端播放的音量大小 |
| preloadAudioMixing | 预加载指定音乐文件到缓存 自 3.24.0 版加入 |
| unloadAudioMixing | 清除预加载的音频资源 自 3.24.0 版加入 |
| enableAudioMixingBuffer | 启动外部音频流混音 自 3.24.0 版加入 |
| disableAudioMixingBuffer | 关闭外部音频流混音 自 3.24.0 版加入 |
| pushAudioMixingBuffer | 向 SDK 推送外部音频数据 自 3.24.0 版加入 |
| getVideoTrack | 获取当前流中的视频轨道 |
| getAudioTrack | 获取当前流中的音频轨道 |
| mirror | 打开/关闭镜像 |
| enableLocalVideo | 启用本地视频采集设备 自 3.22.0 版加入 |
| enableLocalAudio | 启用本地音频采集设备 自 3.22.0 版加入 |
| switchDevice | 切换音视频采集设备 自 3.22.0 版加入 |
| setScreenParameters | 设置共享屏幕属性,每个属性对应一套视频参数,如分辨率、帧率、码率等 自 3.22.0 版加入 |
| sendSEIMessage | 在视频通信时,通过视频帧发送 SEI 数据。 自 3.25.0 版加入 |
VRTC.Logger
提供设置 logger 的方法,包括设置日志输出等级、开启/关闭日志上传。
| API | 描述 |
|---|---|
| setLogLevel | 设置日志输出等级 |